package com.bw.controller;

import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.bw.service.FastFoodService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

@RestController
public class FastFoodController {
//    注入业务层
    @Autowired
    FastFoodService fastFoodService;

    @RequestMapping("/findShop")
    public Object findShop(){
//        1.获取数据库数据
        List<Map> list = fastFoodService.findShop();
        System.out.println(list);

//        2.返回大屏所需要的数据
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        JSONObject dataObject = new JSONObject();
//       表头
        JSONArray xArray = new JSONArray();

        JSONObject t1 = new JSONObject();
        t1.put("name","店铺的名称");
        t1.put("id","n1");
        xArray.add(t1);

        JSONObject t2 = new JSONObject();
        t2.put("name","下单金额");
        t2.put("id","n2");
        xArray.add(t2);

        JSONObject t3 = new JSONObject();
        t3.put("name","下单次数");
        t3.put("id","n3");
        xArray.add(t3);


        JSONObject t4 = new JSONObject();
        t4.put("name","下单人数");
        t4.put("id","n4");
        xArray.add(t4);


        JSONObject t5 = new JSONObject();
        t5.put("name","实收金额");
        t5.put("id","n5");
        xArray.add(t5);

        JSONObject t6 = new JSONObject();
        t6.put("name","退款成功金额");
        t6.put("id","n6");
        xArray.add(t6);


        dataObject.put("columns",xArray);

//       行
        JSONArray yArray = new JSONArray();
        for (Map map : list) {
            JSONObject o = new JSONObject();
            o.put("n1",map.get("n"));
            o.put("n2",map.get("ototal"));
            o.put("n3",map.get("c"));
            o.put("n4",map.get("p"));
            o.put("n5",map.get("atotal"));
            o.put("n6",map.get("s"));
            yArray.add(o);
        }

        dataObject.put("rows",yArray);

        jsonObject.put("data",dataObject);
        return jsonObject;
    }


    @RequestMapping("/findYou")
    public Object findYou(String time){
//        1.获取数据库中的数据
        List<Map> list = fastFoodService.findYou(time);
        System.out.println(list);
//        2.返回大屏所需要的数据
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        JSONObject dataObject = new JSONObject();
//        表头
        JSONArray xArray = new JSONArray();

        JSONObject jsonObject1 = new JSONObject();
        jsonObject1.put("name","统计日期");
        jsonObject1.put("id","t1");
        xArray.add(jsonObject1);

        JSONObject jsonObject2 = new JSONObject();
        jsonObject2.put("name","最近天数1,7,30");
        jsonObject2.put("id","t2");
        xArray.add(jsonObject2);

        JSONObject jsonObject3 = new JSONObject();
        jsonObject3.put("name","直营店优惠分摊金额");
        jsonObject3.put("id","t3");
        xArray.add(jsonObject3);


        JSONObject jsonObject4 = new JSONObject();
        jsonObject4.put("name","加盟店优惠金额");
        jsonObject4.put("id","t4");
        xArray.add(jsonObject4);



        dataObject.put("columns",xArray);

//        行
        JSONArray yArray = new JSONArray();
        for (Map map : list) {
            JSONObject jsonObject5 = new JSONObject();
            jsonObject5.put("t1",map.get("z"));
            jsonObject5.put("t2",map.get("r"));
            jsonObject5.put("t3",map.get("zy"));
            jsonObject5.put("t4",map.get("jm"));
            yArray.add(jsonObject5);
        }
        dataObject.put("rows",yArray);
        jsonObject.put("data",dataObject);
        return jsonObject;
    }

    @RequestMapping("/findSpu")
    public Object findSpu(){
//        1.获取数据库中的数据
        List<Map> list = fastFoodService.findSpu();
        System.out.println(list);
//        2.返回大屏所需要的数据
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        JSONObject dataObject = new JSONObject();
//        X轴
        JSONArray xArray = new JSONArray();
        for (Map map : list) {
            xArray.add(map.get("n"));
        }
        dataObject.put("categories",xArray);

//        y轴
        JSONArray yArray = new JSONArray();

        JSONObject jsonObject1 = new JSONObject();
        jsonObject1.put("name","评价次数");
        JSONArray jsonArray = new JSONArray();
        for (Map map : list) {
            jsonArray.add(map.get("rating_num"));
        }
        jsonObject1.put("data",jsonArray);
        yArray.add(jsonObject1);


        JSONObject jsonObject2 = new JSONObject();
        jsonObject2.put("name","好评次数");
        JSONArray jsonArray1 = new JSONArray();
        for (Map map : list) {
            jsonArray1.add(map.get("good_num"));
        }
        jsonObject2.put("data",jsonArray1);
        yArray.add(jsonObject2);


        JSONObject jsonObject3 = new JSONObject();
        jsonObject3.put("name","平均评分");
        JSONArray jsonArray2 = new JSONArray();
        for (Map map : list) {
            jsonArray2.add(map.get("avg_rating"));
        }
        jsonObject3.put("data",jsonArray2);
        yArray.add(jsonObject3);



        JSONObject jsonObject4 = new JSONObject();
        jsonObject4.put("name","好评率");
        JSONArray jsonArray4 = new JSONArray();
        for (Map map : list) {
            jsonArray4.add(map.get("hpl"));
        }
        jsonObject4.put("data",jsonArray4);
        yArray.add(jsonObject4);



        dataObject.put("series",yArray);

        jsonObject.put("data",dataObject);
        return jsonObject;
    }


    @RequestMapping("/findHour")
    public Object findHour(String time){
//        1.获取数据库中的数据
        List<Map> list = fastFoodService.findHour(time);
        System.out.println(list);
//        2.返回大屏所需要的数据
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        JSONObject dataObject = new JSONObject();
//        x轴
        JSONArray xArray = new JSONArray();
        for (Map map : list) {
            xArray.add(map.get("t"));
        }
        dataObject.put("categories",xArray);

//        Y轴
        JSONArray yArray = new JSONArray();

        JSONObject jsonObject1 = new JSONObject();
        jsonObject1.put("name","下单金额");
        JSONArray jsonArray1 = new JSONArray();
        for (Map map : list) {
            jsonArray1.add(map.get("total"));
        }
        jsonObject1.put("data",jsonArray1);
        yArray.add(jsonObject1);


        JSONObject jsonObject2 = new JSONObject();
        jsonObject2.put("name","下单次数");
        JSONArray jsonArray2 = new JSONArray();
        for (Map map : list) {
            jsonArray2.add(map.get("c"));
        }
        jsonObject2.put("data",jsonArray2);
        yArray.add(jsonObject2);


        JSONObject jsonObject3 = new JSONObject();
        jsonObject3.put("name","下单人数");
        JSONArray jsonArray3 = new JSONArray();
        for (Map map : list) {
            jsonArray3.add(map.get("u"));
        }
        jsonObject3.put("data",jsonArray3);
        yArray.add(jsonObject3);



        dataObject.put("series",yArray);
        jsonObject.put("data",dataObject);
        return jsonObject;
    }
}
